The present invention relates generally to data communications between a number of information providers and a push server across a computer network. In particular, the present invention relates to a method and apparatus for securely handling data push requests from a number of information providers to a plurality of wireless computing devices through a push server.
The Internet is a global communication network that interconnects computers around the world using a single protocol. Together, these millions of connected computers form a vast repository of information that is readily accessible by any of the connected computers from anywhere at any time.
To provide mobility and portability to the Internet, wireless computing devices have been introduced. The wireless computing devices are capable of communicating with the computers on the Internet using wireless data networks that are connected to the Internet. With wireless computing devices using wireless data networks, people are able to travel about and yet perform the same tasks they could do with computers directly connected to the Internet.
The most common wireless access paradigm of today is a laptop personal computer equipped with a wireless communication mechanism. For example, a laptop may be equipped with a wireless modem for communication with the Internet. This paradigm may be useful for a considerable number of applications and users. However, there has been a growing need for a mobile paradigm in which the Internet can be instantly accessed by smaller mobile computing devices such as mobile phones and Personal Digital Assistants (PDAs). With increasing data processing capabilities in these new smaller mobile computing devices, more and more users are carrying such devices around to convert unproductive time into productive time.
With a small wireless Internet device, a traveler may request the departure time of a next available flight when on the way to an airport. Similarly, a trader may purchase securities while travelling in a taxi. The pertinent information from these transactions may include the airline and the flight number for the traveler, as well as the stock name, the number of shares and the price being purchased for the trader. These airline flight schedules and stock trading sites are available on the Internet. However, to access this information from a mobile device that is connected to a wireless data network, the wireless network must be coupled to the Internet. For example, the wireless data network may connect to the Internet through a proxy server that bridges Internet communication with wireless network communication. Thus, a mobile computing device user could access an airline flight information server or stock trading server through a proxy server that couples the wireless network to the Internet.
In some situations, the traveler or the trader may wish to be informed of any changes or updates to certain information without explicitly requesting the updates. For example, the traveler may wish to be informed if an airline flight schedule changes that will affect the traveler""s plans. In such a situation, the traveler could subscribe to a service that notifies him if there are any updates to particular airline schedules. Thus, a xe2x80x9cpushxe2x80x9d information delivery system that automatically distributes updates would be desirable for users of wireless computing devices. In the example of the traveler with a wireless computing device, an Internet airline scheduling server could push information to a proxy server coupled to the Internet. The proxy server would then pass the information on to the wireless computing device across a wireless communication infrastructure.
As set forth in the previous example, any computer system coupled to the global Internet could become an information provider that pushes information to wireless clients since an information provider just needs to be able to send information to a proxy server coupled to the Internet. Such an open architecture is ideal for encouraging new information service providers. However, such an open architecture is also vulnerable to attacks from malicious attackers (hackers) since any malicious attacker could also send messages to the proxy server. Therefore, it is important to provide safeguards to proxy servers coupled to the global Internet.